//
//  PlayerManager.h
//  Player
//
//  Created by Li on 15/6/10.
//  Copyright (c) 2015年 Li. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>

//播放模式
typedef NS_ENUM(NSInteger, PlayModel) {
    //列表循环
    PlayModelListCycle,
    //随机播放
    PlayModelRandom,
    //单曲循环
    PlayModelSingleCycle,
    //顺序播放
    PlayModelOrder
};

//播放器当前的状态
typedef NS_ENUM(NSInteger, PlayState) {
    PlayStatePlay,
    PlayStatePause
};

@interface PlayerManager : NSObject{
@private NSInteger _playIndex;//播放下标
}

@property (nonatomic, retain) AVPlayer *avplayer;//视频播放器
@property (nonatomic, retain) AVPlayerItem *avplayerItem;//播放内容

@property (nonatomic, retain) NSMutableArray *musicArray;//音乐数组

@property (nonatomic, assign) PlayModel playModel;//播放模式

@property (nonatomic, assign, readonly) PlayState playState;//播放状态,为了考虑类的安全性，通常会在一些不能设置的属性加上readonly的修饰。

@property (nonatomic, assign, readonly) NSInteger currentTime;//当前播放的时间

@property (nonatomic, assign, readonly) NSInteger duration;//当前音频的总时间

//播放
- (void)play;
//暂停
- (void)pause;
//下一首
- (void)nextMusic;
//上一首
- (void)beforeMusic;
//根据下标切换音乐
- (void)changeMusicWithIndex:(NSInteger)index;
//播放完毕后的处理
- (void)musicDidFinishPlay;
//跳转播放时间的方法
- (void)seekNewTime:(NSInteger)newTime;

//单例方法
+ (instancetype)sharedManager;








@end
